package com.niuwa.p2p.service.custService;

import java.util.List;
import java.util.Map;

import com.niuwa.p2p.core.mvc.entity.PageBean;
import com.niuwa.p2p.entity.custservice.CustServiceTraceLog;
import com.niuwa.p2p.entity.custservice.CustServiceUser;
import com.niuwa.p2p.vo.customerservice.CustomerServiceJobUserVo;

/**
 * @author futianliang
 * @date 2015年4月28日
 */
public interface ICustServiceService {
	/**
	 * 查询跟进记录集合
	 * 
	 * @param paramMap
	 * @return
	 */
	List<CustServiceTraceLog> getCustServiceTraceLogList(Map<String, Object> paramMap);

	/**
	 * 查询跟进记录数量
	 * 
	 * @param paramMap
	 * @return
	 */
	int getCustServiceTraceLogListCount(Map<String, Object> paramMap);

	/**
	 * 客服客户列表
	 * 
	 * @param map
	 * @return
	 */
	PageBean<CustServiceUser> getCustList(Map map, long userId, String loginName);

	/**
	 * 查询客服
	 * 
	 * @param id
	 * @return
	 */
	CustServiceUser selectByPrimaryKey(Long id);

	/**
	 * 查询注册没有资金帐户的列表
	 * 
	 * @return
	 */
	List<CustomerServiceJobUserVo> getCustomerWithNoAccout();

	/**
	 * 查询有资金帐户但是没有投资过
	 * 
	 * @return
	 */
	List<CustomerServiceJobUserVo> getAccoutWithOutInvest();

	/**
	 * 批量插入
	 * 
	 * @param custServiceUsers
	 */
	void insertBatch(List<? extends CustServiceUser> custServiceUsers);

	
	/**
	 * 根据条件查询客服客户
	 */
	List<CustServiceUser> getByMap(Map map);


	/**
	 * 更新
	 * 
	 * @param custServiceUsers
	 */
	void update(CustServiceUser custserviceUser);

	/**
	 * 查询可以和customer绑定关系的客服集合 能过tell查询
	 * 
	 * @return
	 */
	List<CustServiceUser> getCustServiceAndCustomerWithTel();

	List<CustServiceUser> getCustServiceUseByTel(Map<String, Object> parammap);

	/**
	 * 
	 * 新增客户
	 * 
	 * @param parammap
	 * @rerurn
	 *
	 */
	public void addCustServiceUser(Map<String, Object> parammap);

}
